import logging
from termcolor import colored

# 创建一个日志记录器
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)

# 创建一个文件处理器，用于将日志记录到文件中
file_handler = logging.FileHandler('colored_log.log')

# 创建一个日志格式化器，使用termcolor库为日志消息添加颜色
def colored_formatter(record):
    level = record.levelname
    message = record.getMessage()
    if level == 'INFO':
        colored_message = colored(message, 'green')
    elif level == 'WARNING':
        colored_message = colored(message, 'yellow')
    elif level == 'ERROR':
        colored_message = colored(message, 'red')
    elif level == 'CRITICAL':
        colored_message = colored(message, 'magenta')
    else:
        colored_message = message
    return f'{record.asctime} {level}: {colored_message}'

# 将自定义的格式化函数应用到文件处理器
file_handler.setFormatter(logging.Formatter(colored_formatter))

# 将文件处理器添加到日志记录器
logger.addHandler(file_handler)

# 输出不同级别的日志信息，记录到文件中的信息将带有颜色
logger.info('这是一条普通的信息')
logger.warning('这是一条警告信息')
logger.error('这是一条错误信息')
logger.critical('这是一条严重错误信息')